<?php
	//ini_set('display_errors', 0);

	class generic  
	{
		public static function especialidades(){
			try{
				 require( "../config/config.php" );
				 $bd = new dbC($config);
				 $sql = "select idespecialidad,descripcion from especialidades";
				 $res = $bd->query($sql);
				 if($res["status"]){
				 	if($res["total"]<1){
				 		throw new Exception("No se han encontrado especialidades disponibles");
				 	}
				 }
				 $bd->commit();
				 return array("status"=>true,"espc"=>$res["rows"]);
           	  
			}
			catch(Exception $e){
				return array('status'=>false,'msg'=>$e->getMessage);
			}
		}
		public static function nuevo($datos)
		{
			try {
					require( "../config/config.php" );
				 	$bd = new dbC($config);	
				 	$data = $datos;

				 	//validar que no exista el usuario
				 	$sqlValidarUsuario = "select * from usuarios where usuario ='".$data['txtUsuario']."'";
				 	$resValU = $bd->query($sqlValidarUsuario);
				 	if($resValU['status']){
				 		if($resValU['total'] < 1){
					 			$sqlEm = "select correoelectronico from usuarios where correoelectronico = '".$data['txtEmail']."'";
					 			$resEm = $bd->query($sqlEm);
					 			if($resEm["status"]){
					 				if($resEm['total'] < 1){
					 					if($data["txtPass"] != $data["txtPassC"]){
					 						throw new Exception('Los campos  de password no coinciden');
					 					}
					 					if($data["txtEmail"] != $data["txtEmailC"]){
					 						throw new Exception('Los campos  de Correo Electronico no coinciden');	
					 					}
					 					$tipoUsuario = 0;
					 					if(!isset($data["cboTipoU"])){
					 						$tipoUsuario = 1;
					 					}
					 					else{
					 						$tipoUsuario = $data["cboTipoU"];
					 					}
					 					$arrayFecha = generic::getFecha();
					 					$fecha = $arrayFecha['anho']."-".$arrayFecha['mesZero']."-".$arrayFecha['diaZero'];
					 					$sqlNU = "insert into usuarios(ApellidoPaterno, ApellidoMaterno, Nombre, Usuario,tipoUsuario, Clave, CorreoElectronico, Pais, Estado, CProfesional, FechaAlta) "
	 										." VALUES ('". utf8_decode($data["txtApepat"]) ."','". utf8_decode($data["txtApemat"]) ."','". utf8_decode($data["txtNombre"]) ."','". utf8_decode($data["txtUsuario"]) ."','". $tipoUsuario."','". $data["txtPass"] ."','". $data["txtEmail"] ."','". utf8_decode($data["cboPais"]) ."','". utf8_decode($data["cboEstado"]) ."','". $data["txtCedula"] ."','". $fecha ."')";
										$resNU = $bd->execute($sqlNU);
										if($resNU["status"]){
											if($resNU["rows"]<1){
												throw new Exception('Ha ocurrido un error inesperado, intentelo de nuevo mas tarde!');
											}
											else{

												// ==================================================================
												//
												// consulta para sacar el id del usuario
												//
												// ------------------------------------------------------------------
												$consUs    = "select idusuario from usuarios where usuario = '".$data["txtUsuario"]."'";
												$resConsUs = $bd->query($consUs);
												$tmpUser   = $resConsUs["rows"][0]['idusuario']; 
												$cEspec = count($data["cboEspec"]);
		 										if($cEspec > 0){
		 										for($x=0;$x<$cEspec;$x++){
													$insertEsp = "insert into usuariosespecialidad(idusuario,idespecialidad) values (".$tmpUser.",".$data["cboEspec"][$x].")";
													$resEsp = $bd->execute($insertEsp);
													if($resEsp["status"]){
														if($resEsp["rows"]<1){
															throw new Exception("El usuario no ha sido registrado");
														}
													}
													else{
														throw new Exception("ha ocurrido un error inesperado intentelo mas tarde!");
													}
												}
			 									
			 								}
			 								else{
			 										throw new Exception("Error! seleccione por lo menos una especialidad");
			 									}
											}
	 									}
					 					else{
					 						throw new Exception("Error!El email  ".$data["txtEmail"]." ya esta registrado");
					 					}	
				 				}
					 		}
				 		}
				 		else{
							throw new Exception("Error!El usuario  ".$data["txtUsuario"]." ya esta registrado.");
						}
				 	}
				 	$bd->commit();
				 	echo ( "<div id='divSuccess'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><strong>El usuario ha sido registrado Exitosamente</strong></div>");
				} catch (Exception $e) {
					$bd->rollback();
					return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><strong>".$e->getMessage()."</strong></div>");
			}	
		}

		function __autoload($class_name)
		{
		  $file = dirname(__FILE__) . '/class/' .$class_name . '.php';
		  
			if (file_exists($file) )
			{
				
				require_once($file); 
			}
			else
			{	
				echo "La Clase no existe o no fue nombrada adecuadamente.->".$class_name;
			}
		}

		public static function nuevaActividad($datos){
			try{
				require( "../config/config.php" );
				$bd = new dbC($config);
				$data = $datos;

				if(!empty($_POST['rdoCuestionario'])){
					$cuestionario = $data['rdoCuestionario'];
					$descripcion = $data['txtDescripcion'];
					$contenido = $data['txtContenido'];

					$arrayFecha = generic::getFecha();
					$fechaReg = $arrayFecha['anho']."-".$arrayFecha['mesZero']."-".$arrayFecha['diaZero'];
					
					$fechaVig = $data['txtFecha'];
					$generica = 0;

					if(!empty($_POST['chkGenerica'])){
						$generica = 1;
					}

					$query = "insert into actividades(IdCuestionario,DescripcionCorta,Contenido,FechaRegistro,FechaVigencia,EsGenerica) "
					."values('".utf8_decode($cuestionario)."','".utf8_decode($descripcion)."','".utf8_decode($contenido)."','$fechaReg','$fechaVig','$generica');";
					
					$rs = $bd->execute($query);
					echo "<div id='divSuccess'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><strong>Mensaje! </strong>La informacion ha sido enviada correctamente.</div>";
				}				
			}catch (Exception $e){
				return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");
			}
		}
		public static function nuevoCapitulo($datos){
			try {
				require( "../config/config.php" );
				$bd = new dbC($config);
				$data = $datos;
				$generica = 0;
				if(!empty($_POST['esRequ'])){
						$generica = 1;
				}
				$queryCap = "insert into capitulos(idactividad,idcuestionario,numero,descripcion,introduccion,contenido,esrequerido)".
				"values(".$data['cboAct'].",".$data['txtCuestionarioAct'].",".$data['txtNumero'].",'".utf8_decode($data['txtDescripcion'])."','".utf8_decode($data['txtIntroduccion'])."','".utf8_decode($data['txtContenido'])."','$generica');";
				//echo $queryCap;
				$resultCap = $bd->execute($queryCap);
				if($resultCap["status"]){
					if($resultCap["rows"]<1){
						throw new Exception("imposible guardar este capitulo.");
						
					}	
				}else{
					throw new Exception("Ha ocurrido un error inesperado, intentelo mas tarde");
					
				}
				$bd->commit();
				 echo ( "<div id='divSuccess'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><strong>El Capitulo ha sido registrado Exitosamente</strong></div>");

			} catch (Exception $e) {
				$bd->rollback();
				return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");	
			}
		}
		public static function muestraCapitulos(){
			try{
				 require( "config/config.php" );
				 $bd = new dbC($config);
				 $sql = "select IdCapitulo,Descripcion from capitulos";
				 $res = $bd->query($sql);
				 if($res["status"]){
				 	if($res["total"] < 1 ){
				 		throw new Exception("No se han encontrado capitulos disponibles en el sistema, agrege uno para comenzar.");
				 	}
				 }
				 else{
				 	throw new Exception("Ha ocurrido un error inesperado, intentelo mas tarde.");
				 }
				 return array("status"=>true,"cap"=>$res["rows"]);
           	}
			catch(Exception $e){
				return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");
			}
		}
		public static function muestraTemas(){
			try{
				 require( "config/config.php" );
				 $bd = new dbC($config);
				 $sql = "select IdTema,Descripcion from temas";
				 $res = $bd->query($sql);
				 if($res["status"]){
				 	if($res["total"] < 1 ){
				 		throw new Exception("No se han encontrado temas disponibles en el sistema, agrege uno para comenzar.");
				 	}
				 }
				 else{
				 	throw new Exception("Ha ocurrido un error inesperado, intentelo mas tarde.");
				 }
				 return array("status"=>true,"tem"=>$res["rows"]);
           	}
			catch(Exception $e){
				return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");
			}
		}
		public static function modifCap($datos){
			try {
				require( "../config/config.php" );
				$bd = new dbC($config);
				$data = $datos;
				$generica = 0;
				if(!empty($_POST['esRequ'])){
						$generica = 1;
				}
				$queryCap = "update capitulos set".
				" idActividad=".$data['cboAct'].",idCuestionario=".$data['txtCuestionarioAct'].",numero=".$data['txtNumero'].",descripcion='".utf8_decode($data['txtDescripcion'])."',introduccion='".utf8_decode($data['txtIntroduccion'])."',contenido='".utf8_decode($data['txtContenido'])."',esrequerido=".$generica." "
				."where idcapitulo = ".$data['hidIdCap']." ";
					
				  
				$resultCap = $bd->execute($queryCap);
				if($resultCap["status"]){
					if($resultCap["rows"]<1){
						throw new Exception("No ha realizado modificaciones");
						
					}	
				}else{
					throw new Exception("Ha ocurrido un error inesperado, intentelo mas tarde");
					
				}
				$bd->commit();
				 echo ( "<div id='divSuccess'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><strong>El Capitulo ha sido actualizado Exitosamente</strong></div>");

			} catch (Exception $e) {
				$bd->rollback();
				return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");	
			}
		}
		public static function nuevoTema($datos){
			try {
				require( "../config/config.php" );
				$bd = new dbC($config);
				$data = $datos;
				$generica = 0;
				if(!empty($_POST['esRequ'])){
						$generica = 1;
				}
				$queryTema = "insert into temas(idcapitulo,idcuestionario,numero,descripcion,contenido,esrequerido)".
				" values(".$data['cboCap'].",".$data['txtCuestionarioCap'].",".$data['txtNumero'].",'".utf8_decode($data['txtDescripcion'])."','".utf8_decode($data['txtContenido'])."',".$generica.")";
				$resultTema = $bd->execute($queryTema);

				if($resultTema["status"]){
					if($resultTema["rows"]<1){
						throw new Exception("imposible guardar este capitulo.");
					}	
				}else{
					throw new Exception("Ha ocurrido un error inesperado, intentelo mas tarde");
					
				}
				$bd->commit();
				 echo ( "<div id='divSuccess'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><strong>El Tema ha sido registrado Exitosamente</strong></div>");

			} catch (Exception $e) {
				$bd->rollback();
				return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");	
			}
		}

		public static function datosCap($cap){
			try{
				require( "../config/config.php" );
				$bd = new dbC($config);
				$query = "select * from capitulos "
				. "where IdCapitulo = " . $cap;
				$rs = $bd->query($query);
				if ($rs['status']) {
					if ($rs['total'] < 1) {
						throw new Exception("No se han encontrado capitulos disponible,registre uno");
					}
				}
				else{
					throw new Exception("Ha ocurido un error inesperado, intentelo mas tarde.");
				}
				return array("status"=>true,"cap"=>$rs["rows"][0]);

			}catch (Exception $e){
				return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");
			}
		}
		
		public static function datosTem($tem){
			try{
				require( "../config/config.php" );
				$bd = new dbC($config);
				$query = "select * from temas "
				. "where IdCapitulo = " . $tem;
				$rs = $bd->query($query);
				if ($rs['status']) {
					if ($rs['total'] < 1) {
						throw new Exception("No se han encontrado temas disponible,registre uno");
					}
				}
				else{
					throw new Exception("Ha ocurido un error inesperado, intentelo mas tarde.");
				}
				return array("status"=>true,"tem"=>$rs["rows"][0]);

			}catch (Exception $e){
				return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");
			}
		}
		public static function loadCap(){
			try{
				require( "../config/config.php" );
				$bd = new dbC($config);
				$query = "select * from capitulos ";
				$rs = $bd->query($query);
				if ($rs['status']) {
					if ($rs['total'] < 1) {
						throw new Exception("No se han encontrado capitulos disponible,registre uno");
					}
				}
				else{
					throw new Exception("Ha ocurido un error inesperado, intentelo mas tarde.");
				}
				return array("status"=>true,"cap"=>$rs["rows"]);

			}catch (Exception $e){
				return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");
			}
		}

		public static function cargaTemas(){
			try{
				 require( "../config/config.php" );
				 $bd = new dbC($config);
				 $sql = "select * from temas";
				 $res = $bd->query($sql);
				 if($res["status"]){
				 	if($res["total"]<1){
				 		throw new Exception("No se han encontrado Temas disponibles,Registre uno <a href='javascript:generic.init(\"temas\")'>Aquí</a>");
				 	}
				 }
				 else{
				 	throw new Exception("Ha ocurrido un error inesperado");
				 }
				 $bd->commit();
				 return array("status"=>true,"tem"=>$res["rows"]);
           	}
			catch(Exception $e){
				return array('status'=>false,'msg'=>$e->getMessage());
			}
		}
		public static function modifTema($datos){
			try {
				require( "../config/config.php" );
				$bd = new dbC($config);
				$data = $datos;
				$generica = 0;
				if(!empty($_POST['esRequ'])){
						$generica = 1;
				}
				$queryTem = "update temas set".
				" idCapitulo=".$data['cboCap'].",idcuestionario=".$data['txtCuestionarioCap'].",numero=".$data['txtNumero'].",descripcion='".utf8_decode($data['txtDescripcion'])."',contenido='".utf8_decode($data['txtContenido'])."',esrequerido=".$generica." "
				."where idtema= ".$data['hidIdTem']." ";
				//echo $queryTem;
				$resultTem = $bd->execute($queryTem);
				if($resultTem["status"]){
					if($resultTem["rows"]<1){
						throw new Exception("No ha realizado cambios.");
						
					}	
				}else{
					throw new Exception("Ha ocurrido un error inesperado, intentelo mas tarde");
					
				}
				$bd->commit();
				 echo ( "<div id='divSuccess'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><strong>El tema ha sido actualizado Exitosamente</strong></div>");

			} catch (Exception $e) {
				$bd->rollback();
				return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");	
			}
		}
		public static function nuevoCuestionario($datos){
			try{
				
				require( "../config/config.php" );
				$bd = new dbC($config);
				$data = $datos;
				$cuestionario = $data['txtCuestionario'];
				if(trim($cuestionario) == ""){
					throw new Exception("Existen campos vacios, intentelo nuevamente");
				}
				$query = "insert into cuestionarios(Descripcion) "
				."values('".utf8_decode($cuestionario)."');";

				$rs = $bd->execute($query);

				echo "<div id='divSuccess'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><strong>Mensaje! </strong>La informacion ha sido enviada correctamente.</div>";

			}catch (Exception $e){
				return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");
			}
		}

		public static function muestraCuestionarios(){
			try{
				require( "config/config.php" );
				$bd = new dbC($config);

				$query = "select IdCuestionario, Descripcion from cuestionarios;";
				$rs = $bd->query($query);

				if($rs['status']){
					if($rs['total'] <= 0){
						throw new Exception("No se han encontrado cuestionarios disponibles, Registre uno <a data-toggle='modal' href='modalCuestionario.php' data-target='#myModal'>Aquí</a>");
					}
				}
				return array("status"=>true,"total"=>$rs["total"],"rows"=>$rs["rows"]);
				//return $rs;
			}catch (Exception $e){
				return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");
			}
		}

		public static function datosCuestionarios($cuest){
			try{
				require( "../config/config.php" );
				$bd = new dbC($config);

				$query = "select * from cuestionarios where IdCuestionario = '$cuest';";
				
				$rs = $bd->query($query);

				if($rs['status']){
					if($rs['total']<0){
						throw new Exception("No fue posible cargar la informacion del cuestionario.");
					}
				}
				$bd->commit();

				return array("status"=>true,"acti"=>$rs["rows"]);
			}catch (Exception $e){
				return print( "<div id='asd'>".$e->getMessage()."</div>");
			}
		}

		public static function muestraActividadesDes(){
			try{
				 require( "../config/config.php" );
				 $bd = new dbC($config);
				 $sql = "select idactividad,idcuestionario,descripcioncorta from actividades";
				 $res = $bd->query($sql);
				 if($res["status"]){
				 	if($res["total"]<1){
				 		throw new Exception("No se han encontrado actividades disponibles,Registre una <a href='javascript:generic.init(\"activid\")'>Aquí</a>");
				 	}
				 }
				 $bd->commit();
				 return array("status"=>true,"acti"=>$res["rows"]);
           	  
			}
			catch(Exception $e){
				return array('status'=>false,'msg'=>$e->getMessage());
			}
		}

		public static function muestraUsuarioEsp(){
			try{
				
				require( "config/config.php" );
				$bd = new dbC($config);

				$query = "select * from vistaUsrEspecialidad;";
				$rs = $bd->query($query);

				if ($rs['status']) {
					if ($rs['total'] <= 0) {
						throw new Exception("No se han encontrado usuarios disponibles, Registre uno <a href='javascript:generic.init(\"new\")'>Aquí</a>");
					}
				}
				return array("status"=>true,"total"=>$rs["total"],"rows"=>$rs["rows"]);

			}catch (Exception $e){
				return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");
			}
		}

		public static function comboEspecialidades(){
			try{
				require( "config/config.php" );
				$bd = new dbC($config);

				$query = "select idespecialidad, descripcion from especialidades;";
				$rs = $bd->query($query);

				return $rs;
			}catch (Exception $e){
				return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");
			}
		}

		public static function actionUsuarioEsp($datos, $opc){
			try{

				require( "../config/config.php" );
				$bd = new dbC($config);

				$data = $datos;

				if (empty($data['chkUsuario'])) {
					throw new Exception("<strong>Atencion! </strong>Es importante que selecciones minimo un usuario.");
				}

				$usrEspecialidad = $data['chkUsuario'];
				$newEspecialidad = $data['drpEspecialidad'];

				switch ($opc) {
					case 1: //Eliminar
						for($i=0; $i < count($usrEspecialidad); $i++){
							$rows = $usrEspecialidad[$i];

							$usr = substr($rows, 0);
							$esp = substr($rows, 1);

							$query = "delete from usuariosespecialidad "
							. "where IdUsuario = '$usr' "
							. "and IdEspecialidad = '$esp';";
							
							
							$rs = $bd->execute($query);
							//generic::printR($query);
						}

						break;
					case 2: //Modificar

						for($i=0; $i < count($usrEspecialidad); $i++){
							$rows = $usrEspecialidad[$i];

							$usr = substr($rows, 0);
							$esp = substr($rows, 1);

							$query = "update usuariosespecialidad set IdEspecialidad = '$newEspecialidad' "
							. "where IdUsuario = '$usr' "
							. "and IdEspecialidad = '$esp';";
							
							$rs = $bd->execute($query);
							//generic::printR($query);
						}

						break;
					case 3: //Guardar
						for($i=0; $i < count($usrEspecialidad); $i++){
							$rows = $usrEspecialidad[$i];

							$usr = substr($rows, 0);

							$query = "insert into usuariosespecialidad values('$usr','$newEspecialidad');";
							
							$rs = $bd->execute($query);
							//generic::printR($query);
						}
							
						break;
					default:
						# code...
						break;
				}
				
				echo "<div id='divSuccess'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><strong>Mensaje! </strong>La informacion ha sido actualizada correctamente.</div>";
			}catch (Exception $e){
				return print( "<div id='asd'>".$e->getMessage()."</div>");
			}
		}

		public static function muestraActividad(){
			try{
				require( "config/config.php" );
				$bd = new dbC($config);

				$query = "select IdActividad, DescripcionCorta from actividades;";
				$rs = $bd->query($query);

				if($rs['status']){
					if ($rs['total'] <= 0) {
						throw new Exception("No se han encontrado actividades disponibles en el sistema, registre una para comenzar");
					}
				}
				return array("status"=>true,"total"=>$rs["total"],"rows"=>$rs["rows"]);
			}catch (Exception $e){
				return print( "<div id='asd' class='text-danger'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");
			}
		}

		public static function datosActividad($act){
			try{
				require( "../config/config.php" );
				$bd = new dbC($config);

				$query = "select * from vistaInfoActividad "
				. "where IdActividad = " . $act;
				
				$rs = $bd->query($query);

				return array("status"=>true,"acti"=>$rs["rows"]);
			}catch (Exception $e){
				return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");
			}
		}

		public static function editaActividad($datos){
			try{
				require( "../config/config.php" );
				$bd = new dbC($config);

				$data = $datos;

				if(!empty($_POST['rdoCuestionario'])){
					$idActividad = $data['idActividad'];
					$cuestionario = $data['rdoCuestionario'];
					$descripcion = $data['txtDescripcion'];
					$contenido = $data['txtContenido'];

					$arrayFecha = generic::getFecha();
					$fechaReg = $arrayFecha['anho']."-".$arrayFecha['mesZero']."-".$arrayFecha['diaZero'];

					$fechaVig = $data['txtFecha'];
					$generica = 0;

					if(!empty($_POST['chkGenerica'])){
						$generica = 1;
					}

					$query = "update actividades "
					. "set IdCuestionario = '$cuestionario', "
					. "DescripcionCorta = '" . utf8_decode($descripcion) . "', "
					. "Contenido = '" . utf8_decode($contenido) . "', "
					. "FechaVigencia = '$fechaVig', "
					. "EsGenerica = '$generica' "
					. "where IdActividad = '$idActividad';";

					$rs = $bd->execute($query);
					echo "<div id='divSuccess'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><strong>Mensaje! </strong>La informacion ha sido enviada correctamente.</div>";
				}
				//generic::printR($data);
			}catch (Exception $e){
				return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>".$e->getMessage()."</div>");
			}
		}

		public static function eliminaActividad($datos){
			try {
				require( "../config/config.php" );
				$bd = new dbC($config);
				$data = $datos;

				$query = "delete from actividades where IdActividad = " . $data['actividad'] . ";";
				$rs = $bd->execute($query);

				return array("status"=>true,"actividad"=>$data['actividad']);
			} catch (Exception $e) {
				
			}
		}

		public static function editaCuestionario($datos){
			try{
				
				require( "../config/config.php" );
				$bd = new dbC($config);
				$data = $datos;

				$idCuestionario = $data['hidCuest'];
				$cuestionario = $data['txtCuestionario'];

				$query = "update cuestionarios set Descripcion = '".utf8_decode($cuestionario)."' where IdCuestionario = '".$idCuestionario."';";

				$rs = $bd->execute($query);

				//generic::printR($query);
				echo "<div id='divSuccess'><strong>Mensaje! </strong>La informacion ha sido enviada correctamente.</div>";
			}catch (Exception $e){
				return print( "<div id='asd'>".$e->getMessage()."</div>");
			}
		}
		public static function nvaInstitucion($datos){
			try {
					require( "../config/config.php" );
				 	$bd = new dbC($config);	
				 	$data = $datos;

				 	//validar que no exista el usuario
				 	$sqlIns = "insert into instituciones ( nombre,direccion,telefono,contacto,pais,estado,correoelectronico) values ".
				 	"('".utf8_decode($data['txtNombre'])."','".utf8_decode($data['txtDireccion'])."','".$data['txtTel']."','".utf8_decode( $data['txtContacto'])."',".$data['cboPais'].",".$data['cboEstado'].",',".$data['txtEmail']."')";
				 	$resIns = $bd->execute($sqlIns);
				 	if ($resIns["status"]) {
				 		if ($resIns["rows"] < 1) {
				 			throw new Exception("Imposible registrar esta institución");
				 		}
				 	} else {
				 		throw new Exception("Ocurrio un error inesperado, intentelo mas tarde");
				 	}
				$bd->commit();
			 	echo ( "<div id='divSuccess'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><strong>La institucion ha sido registrado Exitosamente</strong></div>");
				} catch (Exception $e) {
					$bd->rollback();
					return print( "<div id='asd'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><strong>".$e->getMessage()."</strong></div>");
				}	
		}
		public static function cargaInstituciones(){
			try{
				 require( "../config/config.php" );
				 $bd = new dbC($config);
				 $sql = "select * from instituciones";
				 $res = $bd->query($sql);
				 if($res["status"]){
				 	if($res["total"]<1){
				 		throw new Exception("No se han encontrado Temas disponibles,Registre uno <a href='javascript:generic.init(\"temas\")'>Aquí</a>");
				 	}
				 }
				 else{
				 	throw new Exception("Ha ocurrido un error inesperado");
				 }
				 $bd->commit();
				 return array("status"=>true,"tem"=>$res["rows"]);
           	}
			catch(Exception $e){
				return array('status'=>false,'msg'=>$e->getMessage());
			}
		}

		public static function newPreguntas($datos){
			try{
				
				require( "../config/config.php" );
				$bd = new dbC($config);
				$data = $datos;

				$idCuestionario = $data['drpCuestionario'];
				$numero = $data['numero'];
				$preguntas = $data['preguntas'];
				$puntos = $data['puntos'];

				$idRespuesta = rand(10000, getrandmax());

				$query = "insert into preguntas (IdRespuesta, IdCuestionario, Numero, Descripcion, Puntos) "
					. "values('$idRespuesta','$idCuestionario','$numero','$preguntas','$puntos');";

				$rs = $bd->execute($query);

				return array("status"=>true,"rows"=>$rs['rows'], "inserted" => $rs['inserted']);
				//return array("numero"=>$numero);
				//generic::printR($data);
			}catch (Exception $e){
				return print( "<div id='asd'><strong>".$e->getMessage()."</strong></div>");
				//return array("status"=>false,"rows"=>0, "inserted" => false);
				//no retorna nada  si es para javascript
			}
		}

		public static function newRespuesta($datos){
			try{
				
				require( "../config/config.php" );
				$bd = new dbC($config);
				$data = $datos;

				$idPregunta = $data['pregunta'];
				$respuesta = $data['respuesta'];
				$indice = $data['indice'];
				
				$query = "insert into respuestas (IdPregunta, NumeroIndice, Descripcion) "
				. "values($idPregunta, $indice, '$respuesta');";

				$rs = $bd->execute($query);

				return array("status"=>true,"rows"=>$rs['rows'], "inserted" => $rs['inserted']);
				//return array($data);
				//generic::printR($data);
			}catch (Exception $e){
				return print( "<div id='asd'><strong>".$e->getMessage()."</strong></div>");
				//return array("status"=>false,"rows"=>0, "inserted" => false);
				//no retorna nada  si es para javascript
			}
		}

		public static function showQuestDetails($datos){
			try {
				require( "../config/config.php" );
				$bd = new dbC($config);
				$data = $datos;

				$cuestionario = $data['cuestionario'];

				$query = "select * from vistaInfoPreguntas where IdCuestionario = '$cuestionario';";
				$rs = $bd->query($query);

				return array("status"=>true,"total"=>$rs["total"],"preg"=>$rs["rows"]);
			} catch (Exception $e) {
				return print( "<div id='asd'><strong>".$e->getMessage()."</strong></div>");
			}

		}

		public static function eliminaPreguntaRespuesta($datos){
			try{
				
				require( "../config/config.php" );
				$bd = new dbC($config);
				$data = $datos;

				$idPregunta = $data['pregunta'];
				
				$query = "delete from preguntas where IdPregunta = '$idPregunta';";
				$rs = $bd->execute($query);

				if ($rs['status']) {
					if ($rs['rows'] >= 1) {
						$rs = null;
						$delQuest = "delete from respuestas where IdPregunta = '$idPregunta';";
						$rs = $bd->execute($delQuest);
						//return array($delQuest);
					}
				}

				return array("status"=>true);
			}catch (Exception $e){
				return print( "<div id='asd'><strong>".$e->getMessage()."</strong></div>");
				//return array("status"=>false,"rows"=>0, "inserted" => false);
				//no retorna nada  si es para javascript
			}
		}

		public static function printR($array){
			echo "<pre>";
			print_r($array);
			echo "</pre>";
		}
		public static function getFecha()
		  {
		    $dia = date("j");
		    $diaZero = date("d");
		    $diaSemana = date("N");
		    $diaSemanaS = array("Lunes","Martes","Miercoles","Jueves","Viernes","Sabado","Domingo");
		    $mes = date("n");
		    $mesZero = date("m");
		    $mesS = array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
		    $anho = date("Y");
		    $hora = date("h");
		    $hora24 = date("H");
		    $minuto = date("i");
		    $segundo = date("s");
		    $meridiano = date("a");
		    settype($dia, "integer");
		    settype($diaSemana, "integer");
		    settype($mes, "integer");
		    settype($anho, "integer");
		    settype($hora, "integer");
		    settype($minuto, "integer");
		    settype($segundo, "integer");
		    return array("dia" => $dia, "diaZero" => $diaZero, "diaSemana" => $diaSemana, "diaSemanaS" => $diaSemanaS[$diaSemana - 1], "mes" => $mes, "mesZero" => $mesZero, "mesS" => $mesS[$mes - 1], "anho" => $anho, "hora" => $hora, "hora24" => $hora24, "minuto" => $minuto, "segundo" => $segundo, "meridiano" => $meridiano);
		  }
	}
 ?>


